package com.hrma.dao;

import com.github.pagehelper.Page;
import com.hrma.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface AttendanceMapper {
    /**
     * 添加考勤统计信息
     */
    void addAttendanceStatistic(AttendanceResult data);

    /**
     * 删除指定行信息
     */
    void deleteOne(Integer id);

    /**
     * 修改指定行信息
     */
    void update(AttendanceResult data);

    List<SelectResult> select();

    Page<Attendance> getList(AttendanceDTO data);

    boolean exist(@Param("id") Integer id);

    /**
     * 根据时间编号获取考勤结果
     */
    AttendanceResult getAttendance(WageStatistic data);

    /**
     * 得到考勤扣款规则
     */
    AttendanceRule getAttendanceRule();

    /**
     * 修添加考勤扣款规则
     */
    void addRule(AttendanceRule data);

    /**
     * 删除考勤扣款规则
     */
    void deleteRule();

    /**
     * 插入考勤记录
     */
    void addAttendance(AttendancePO data);

    /**
     * 清空考勤记录信息
     */
    void delete();

    /**
     * 得到考勤记录
     */
    List<Date> getAttendanceRecord(String employeeNum);

    /**
     * 得到当天打卡记录
     */
    List<Date> getOneDayAttendanceRecord(String employeeNum, Date beginTime, Date endTime);
}
